/*
 * Copyright 2020-2021 redragon.dongbin
 *
 * This file is part of redragon-erp/赤龙ERP.

 * redragon-erp/赤龙ERP is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 2 of the License, or
 * (at your option) any later version.

 * redragon-erp/赤龙ERP is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.

 * You should have received a copy of the GNU General Public License
 * along with redragon-erp/赤龙ERP.  If not, see <https://www.gnu.org/licenses/>.
 */
package com.erp.ledger.account.dao.model;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotBlank;
import org.hibernate.validator.constraints.Length;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

@Entity
@Table(name="gl_code_combinations", schema="erp")
@DynamicInsert(true)
@DynamicUpdate(true)
public class GLCodeCombinations implements java.io.Serializable {

    //serialVersionUID
    private static final long serialVersionUID = 1L;

    //Constructors
    public GLCodeCombinations() {
    }
    
    //Fields
    
    //主键
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name = "code_combination_id", unique = true, nullable = false)
    private Integer codeCombinationId;
    
    public Integer getCodeCombinationId() {
        return this.codeCombinationId;
    }
    public void setCodeCombinationId(Integer codeCombinationId) {
        this.codeCombinationId = codeCombinationId;
    }
    
    //科目结构编码
    @NotBlank(message="会计科目结构不能为空")
    @Column(name = "code_combination_code", unique = true, nullable = false, length = 45)
    private String codeCombinationCode;
    
    public String getCodeCombinationCode() {
        return this.codeCombinationCode;
    }
    public void setCodeCombinationCode(String codeCombinationCode) {
        this.codeCombinationCode = codeCombinationCode;
    }
    
    //会计科目结构段值1
    @Column(name = "segment1", unique = false, nullable = true, length = 45)
    private String segment1;
    
    public String getSegment1() {
        return this.segment1;
    }
    public void setSegment1(String segment1) {
        this.segment1 = segment1;
    }
    
    //会计科目结构段值2
    @Column(name = "segment2", unique = false, nullable = true, length = 45)
    private String segment2;
    
    public String getSegment2() {
        return this.segment2;
    }
    public void setSegment2(String segment2) {
        this.segment2 = segment2;
    }
    
    //会计科目结构段值3
    @Column(name = "segment3", unique = false, nullable = true, length = 45)
    private String segment3;
    
    public String getSegment3() {
        return this.segment3;
    }
    public void setSegment3(String segment3) {
        this.segment3 = segment3;
    }
    
    //会计科目结构段值4
    @Column(name = "segment4", unique = false, nullable = true, length = 45)
    private String segment4;
    
    public String getSegment4() {
        return this.segment4;
    }
    public void setSegment4(String segment4) {
        this.segment4 = segment4;
    }
    
    //会计科目结构段值5
    @Column(name = "segment5", unique = false, nullable = true, length = 45)
    private String segment5;
    
    public String getSegment5() {
        return this.segment5;
    }
    public void setSegment5(String segment5) {
        this.segment5 = segment5;
    }
    
    //会计科目结构段值6
    @Column(name = "segment6", unique = false, nullable = true, length = 45)
    private String segment6;
    
    public String getSegment6() {
        return this.segment6;
    }
    public void setSegment6(String segment6) {
        this.segment6 = segment6;
    }
    
    //会计科目结构段值7
    @Column(name = "segment7", unique = false, nullable = true, length = 45)
    private String segment7;
    
    public String getSegment7() {
        return this.segment7;
    }
    public void setSegment7(String segment7) {
        this.segment7 = segment7;
    }
    
    //会计科目结构段值8
    @Column(name = "segment8", unique = false, nullable = true, length = 45)
    private String segment8;
    
    public String getSegment8() {
        return this.segment8;
    }
    public void setSegment8(String segment8) {
        this.segment8 = segment8;
    }
    
    //会计科目结构段值9
    @Column(name = "segment9", unique = false, nullable = true, length = 45)
    private String segment9;
    
    public String getSegment9() {
        return this.segment9;
    }
    public void setSegment9(String segment9) {
        this.segment9 = segment9;
    }
    
    //会计科目结构段值10
    @Column(name = "segment10", unique = false, nullable = true, length = 45)
    private String segment10;
    
    public String getSegment10() {
        return this.segment10;
    }
    public void setSegment10(String segment10) {
        this.segment10 = segment10;
    }
    
    //会计科目结构段值11
    @Column(name = "segment11", unique = false, nullable = true, length = 45)
    private String segment11;
    
    public String getSegment11() {
        return this.segment11;
    }
    public void setSegment11(String segment11) {
        this.segment11 = segment11;
    }
    
    //会计科目结构段值12
    @Column(name = "segment12", unique = false, nullable = true, length = 45)
    private String segment12;
    
    public String getSegment12() {
        return this.segment12;
    }
    public void setSegment12(String segment12) {
        this.segment12 = segment12;
    }
    
    //会计科目结构段值13
    @Column(name = "segment13", unique = false, nullable = true, length = 45)
    private String segment13;
    
    public String getSegment13() {
        return this.segment13;
    }
    public void setSegment13(String segment13) {
        this.segment13 = segment13;
    }
    
    //会计科目结构段值14
    @Column(name = "segment14", unique = false, nullable = true, length = 45)
    private String segment14;
    
    public String getSegment14() {
        return this.segment14;
    }
    public void setSegment14(String segment14) {
        this.segment14 = segment14;
    }
    
    //会计科目结构段值15
    @Column(name = "segment15", unique = false, nullable = true, length = 45)
    private String segment15;
    
    public String getSegment15() {
        return this.segment15;
    }
    public void setSegment15(String segment15) {
        this.segment15 = segment15;
    }
    
    //状态
    @Column(name = "status", unique = false, nullable = false, length = 1)
    private String status;
    
    public String getStatus() {
        return this.status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    
    //创建时间
    @Column(name = "created_date", unique = false, nullable = false)
    private Date createdDate;
    
    public Date getCreatedDate() {
        return this.createdDate;
    }
    public void setCreatedDate(Date createdDate) {
        this.createdDate = createdDate;
    }
    
    //创建人
    @Column(name = "created_by", unique = false, nullable = false, length = 45)
    private String createdBy;
    
    public String getCreatedBy() {
        return this.createdBy;
    }
    public void setCreatedBy(String createdBy) {
        this.createdBy = createdBy;
    }
    
    //最后修改时间
    @Column(name = "last_updated_date", unique = false, nullable = true)
    private Date lastUpdatedDate;
    
    public Date getLastUpdatedDate() {
        return this.lastUpdatedDate;
    }
    public void setLastUpdatedDate(Date lastUpdatedDate) {
        this.lastUpdatedDate = lastUpdatedDate;
    }
    
    //最后修改人
    @Column(name = "last_updated_by", unique = false, nullable = true, length = 45)
    private String lastUpdatedBy;
    
    public String getLastUpdatedBy() {
        return this.lastUpdatedBy;
    }
    public void setLastUpdatedBy(String lastUpdatedBy) {
        this.lastUpdatedBy = lastUpdatedBy;
    }
    
    //组织机构
    @Column(name = "org_code", unique = false, nullable = false, length = 45)
    private String orgCode;
    
    public String getOrgCode() {
        return this.orgCode;
    }
    public void setOrgCode(String orgCode) {
        this.orgCode = orgCode;
    }
    
    //法人
    @Column(name = "legal_code", unique = false, nullable = false, length = 45)
    private String legalCode;
    
    public String getLegalCode() {
        return this.legalCode;
    }
    public void setLegalCode(String legalCode) {
        this.legalCode = legalCode;
    }
    
    
}